home *** CD-ROM | disk | FTP | other *** search
-
- /* fiddly bits */
-
- #include "kalaha.h"
-
-
- int which_layer(int p)
- {
- int res;
-
- res = OTHERLAY;
- if (p>=0 && p<6)
- res = BOTLAY;
- if (p>=7 && p<13)
- res = TOPLAY;
- if (p==6)
- res = MIDRIGHT;
- if (p==13)
- res = MIDLEFT;
- return res;
- }
-
-
-
- void set_icon_select_state(wimp_w w, int i, BOOL on)
- {
- int v;
- if (on)
- v = wimp_ISELECTED;
- else
- v = 0;
- wimpt_noerr(wimp_set_icon_state(w, i, v, wimp_ISELECTED));
- }
-
-
-
- void write_iconnum(int n, wimp_i i)
- {
- wimp_wind *windp;
- wimp_icon *iconp;
- char *icontext;
-
- windp = template_syshandle("main_window");
- if (windp == 0)
- werr(TRUE, "Fatal internal error ( %d )", __LINE__);
- iconp = (wimp_icon *)(windp+1);
- icontext = iconp[i].data.indirecttext.buffer;
- sprintf(icontext, "%d", n);
- }
-
-
-
- void force_whole_wind_redraw(void)
- {
- wimp_redrawstr r;
-
- r.w = main_window_handle;
- r.box.x0 = 0;
- r.box.y0 = -WINDHT;
- r.box.x1 = 2*SIDEBORDER + 6*HOLLWID;
- r.box.y1 = 0;
- wimpt_noerr(wimp_force_redraw(&r));
- }
-
-
-
- void find_hollow_box(wimp_box *b, int p)
- {
- switch (which_layer(p))
- {
- case BOTLAY:
- b->x0 = SIDEBORDER+HOLLWID*p;
- b->y0 = BOTROW;
- b->x1 = SIDEBORDER+HOLLWID*(p+1);
- b->y1 = BOTROW + 200;
- break;
-
- case TOPLAY:
- b->x0 = SIDEBORDER+HOLLWID*(12-p);
- b->y0 = TOPROW;
- b->x1 = SIDEBORDER+HOLLWID*(13-p);
- b->y1 = TOPROW + 200;
- break;
-
- case MIDLEFT:
- b->y0 = MIDROW;
- b->y1 = MIDROW + 200;
- b->x0 = 0;
- b->x1 = SIDEBORDER+HOLLWID*2;
- break;
-
- case MIDRIGHT:
- b->y0 = MIDROW;
- b->y1 = MIDROW + 200;
- b->x0 = SIDEBORDER+HOLLWID*4;
- b->x1 = SIDEBORDER+HOLLWID*6;
- break;
-
- case OTHERLAY:
- b->y0 = MIDROW;
- b->y1 = MIDROW + 200;
- b->x0 = SIDEBORDER+HOLLWID*2;
- b->x1 = SIDEBORDER+HOLLWID*4;
- break;
- }
- return;
- }
-
-
-